package fr.cdesire.sudoku.core.exceptions;

import fr.cdesire.sudoku.core.commons.Grille;

/**
 * Exception levée lorsque la recherche d'une solution à la grille de Sudoku
 * conduit à plusieurs grilles possibles. Les grilles des 2 premières solutions
 * sont remontées.
 * 
 * @author cedric.desire@gmail.com
 */
public class GrillePlusieursSolutionsException extends SudokuCoreException {
	
	/**
	 * Première solution trouvée.
	 */
	private Grille premiereSolution;
	
	/**
	 * Seconde solution trouvée.
	 */
	private Grille secondeSolution;

	/**
	 * Serial ID.
	 */
	private static final long serialVersionUID = 1458479922653544963L;

	/**
	 * Constructeur.
	 * @param premiereSolution Première solution trouvée.
	 * @param secondeSolution Seconde solution trouvée.
	 */
	public GrillePlusieursSolutionsException(Grille premiereSolution, Grille secondeSolution) {
		
		super();
		this.premiereSolution = premiereSolution;
		this.secondeSolution = secondeSolution;
	}

	/**
	 * Retourne la première solution trouvée.
	 * @return Première solution.
	 */
	public Grille getPremiereSolution() {
		return premiereSolution;
	}

	/**
	 * Retourne la seconde solution trouvée.
	 * @return Seconde solution.
	 */
	public Grille getSecondeSolution() {
		return secondeSolution;
	}
}
